﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Atosenet.PluginEngine
{
    [AttributeUsage(AttributeTargets.Class)]
    public sealed class PluginAttribute : Attribute
    {
        public string AssemblyName = string.Empty;
        public string FullTypeName = string.Empty;
        public string PluginName = string.Empty;
        public PluginType PluginType = PluginType.None;

        public PluginAttribute(string assemblyName, string typeName, string pluginName, PluginType pluginType)
        {
            AssemblyName = assemblyName;
            FullTypeName = typeName;
            PluginName = pluginName;
            PluginType = pluginType;
        }
    }


    public enum PluginType
    {
        None = 0,
        Protocol = 1,
        IO = 2,
        IOParameter = 3,
        DataDecoder = 4,
        BackgroundComponent = 5,
        ForegroundControl = 6,
        Tool = 7
    }
}
